package com.ruoyi.web.domain.function;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotEmpty;
import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * 功能配置管理
 * @author fwx
 * @since 2023-10-17 14:36:55
 */
@Data
@TableName("tt_function_config")
@ApiModel(value = "FunctionConfig对象", description = "功能配置管理")
public class FunctionConfig implements Serializable {

    private static final long serialVersionUID = 1L;

    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;

    @ApiModelProperty("功能名称")
    @TableField("function_name")
    private String functionName;

    @ApiModelProperty("功能code")
    @TableField("function_code")
    @NotEmpty
    private String functionCode;

    @ApiModelProperty("功能类型")
    @TableField("function_type")
    private String functionType;

    @ApiModelProperty("是否停用 0 正常 1 停用")
    @TableField("is_use")
    private Integer isUse;

    @ApiModelProperty("功能值1")
    @TableField("value1")
    private String value1;

    @ApiModelProperty("功能值2")
    @TableField("value2")
    private String value2;

    @ApiModelProperty("功能属性 json")
    @TableField("prop")
    private String prop;

    @ApiModelProperty("属性解释")
    @TableField("prop_mean")
    private String propMean;

    @ApiModelProperty("功能说明")
    @TableField("describes")
    private String describes;

    @ApiModelProperty("排序字段")
    @TableField("order_no")
    private Integer orderNo;

    @TableField("ctr_time")
    @ApiModelProperty(value = "创建时间")
    private LocalDateTime ctrTime;

    /** 修改时间 */
    @ApiModelProperty(value = "修改时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @TableField("mdf_time")
    private LocalDateTime mdfTime;

}
